The methods for exchanging data or information between master and slave transceivers are currently of very considerable interest, in so far as the methods make it possible to effect a reliable and perfectly stable exchange of data, and hence of information, between a master element, endowed with considerable computational and processing capabilities, and a slave element, whose computational and processing capabilities, related to the storage capabilities, are currently much lower.
This is the case in particular for computer systems consisting of card reader (CAD)—microprocessor card, chip card, pairs also known as embedded systems, for which the ISO 7816 standard defines two protocols for communication between chip card and CAD reader.
More specifically, these two protocols are defined by the parameters T=0 and T=1 and each correspond to a “half-duplex” protocol, just one of the two participants, the card reader, respectively the chip card, being able at a given instant to transmit data to the other participant.
Following the insertion of the card into the card reader, the energy supply to the card is undertaken by the card reader and the data exchange thus occurs on a single physical channel, between the master transceiver, the CAD reader, and the slave transceiver, the chip card. The information unit transmitted is called an APDU standing for Application Protocol Data Unit.
In the aforesaid protocols, known from the prior art, one distinguishes between the command APDUs, or C-APDU, and the response APDUs or R-APDU.
An information exchange session consists of one or more APDU exchanges. Thus, an APDU exchange consists of an exchange of a C-APDU/R-APDU command/response pair, always initiated by the master transceiver element, which dispatches a C-APDU to which the slave transceiver responds through an R-APDU. For the duration of the exchange, the master element remains disabled, while awaiting the response, the exchanges of command/response pairs therefore involving the successive transfer of transmission initiative, control, between the master transceiver, respectively the slave transceiver, and vice versa.
In the worst case, the sole initiative, distinct from this successive transfer, that the master transceiver, the CAD reader, is liable to take is to interrupt the entire exchange session by cutting the power supply to the slave transceiver, the chip card.
Constant progress in the physical processes for etching integrated circuits and, consequently, in the capabilities for computation and for processing and for storage in a given volume or area of silicon have however prompted, recently, the appearance of slave transceivers, with multiple functionalities. This is the case in particular with multi-application chip cards. Certain chip cards may, for example, incorporate several applications with which the CAD reader can seek to communicate independently. Specifically, whereas CAD readers exhibit no prohibitive limitations of capacity, several applications may be installed in this type of CAD reader, such as for example, automatic ticket dispensers set up in banks or GSM mobile telephony terminals, the system consisting of a slave transceiver, multi-application chip card, is then confronted with the multiple exchange of information, by command/response pairs, on a single physical channel, between substantially independent applications.
Certain chip cards may in fact incorporate several file systems, several applets or services set up on the latter. GSM cards, in particular, serve, both to cater for the authentication of the subscriber, and, as portable unit, embedded system, for the execution of applets.
With this aim, section 5.5 of the ISO 7816-4 standard defines the concept of logical channel. These logical channels make it possible to decouple the sessions of APDU exchanges bound for the various participants, applets or services, present on the chip card. The standardized process proposed is very simple, a chip card being able to manage up to four logical channels numbered from 0 to 3. These logical channels may be opened respectively closed by the manage channel standard command, as defined in section 6.16 of the ISO 7816-4 standard. Next, the index number of the destination logical channel for a C-APDU command is coded in the two low-order bits of the class code (CLA) of the ADPU.
Thus, the various logical channels defined by the ISO 7816-4 standard are therefore logically decoupled, but the APDU exchanges on the single physical exchange channel remain disabling, both for the CAD reader and its various applications and also for the various applets or services which can be executed on the chip card, the conflict liable to be generated by the simultaneous multiple presence of command/response pairs relating to distinct logical channels not being resolved specifically. See in particular the provisions of paragraph 4, section 5.5.1 of the ISO 7816-4 standard, according to which the launching of command/response pairs must be terminated before the launching of the next command/response pair, the commands and the responses having not to be nested on several logical channels, a single logical channel having to be active between the reception of a command and the dispatching of the corresponding response.